
//使用栈

import { Stack } from "./Stack";

const stack = new Stack<number>();

// stack.push(5);
// stack.push(8);
// console.log(stack.toString());
// console.log(stack.isEmpty());
// console.log(stack.peek());
// console.log(stack.length);
// stack.pop();
// console.log(stack.length);
// console.log(stack.peek());

//使用队列

import { Queue } from "./Queue";

const queue = new Queue();
// queue.enqueue(5);
// queue.enqueue(8);
// console.log(queue.toString());
// console.log(queue.isEmpty());
// console.log(queue.peek());
// console.log(queue.length);
// queue.dequeue();
// console.log(queue.length);
// console.log(queue.peek());

//使用List
import { List } from "./List";


const list = new List<number>();

// list.push(1);
// list.push(2);
// list.push(3);
// list.push(4);
// list.insertBefore(list.begin(), 0);
// list.insertBefore(list.end(), 5);
// console.log(list);
// console.log(list.length);
// list.remove(list.begin());
// console.log(list);


// //使用Set集合
import { Set } from "./Set";
const set = new Set();

// set.add(1);
// console.log(set.values());
// console.log(set.has(1));
// console.log(set.length);

// set.add(2);
// console.log(set.values());
// console.log(set.has(1));
// console.log(set.length);

// set.delete(1);
// console.log(set.values());
// console.log(set.has(1));
// console.log(set.length);


//使用二叉树
import { BinarySearchTree } from "./Tree";
const tree = new BinarySearchTree();
tree.insert(11);
tree.insert(7);
tree.insert(15);
tree.insert(5);
tree.insert(3);
tree.insert(9);
tree.insert(8);
tree.insert(10);
tree.insert(13);
tree.insert(12);
tree.insert(14);
tree.insert(20);
tree.insert(18);
tree.insert(25);

tree.insert(6);
// tree.inOrderTraverse((key: number) => console.log(key));
// console.log("--------------------------------------------");
// tree.preOrderTraverse((key: number) => console.log(key));
